from django.shortcuts import render

# Create your views here.
from rest_framework.generics import GenericAPIView, CreateAPIView

from rest_framework.response import Response
from rest_framework.views import APIView

from users.models import User


from users.serialiazers import UserSerialiazer

# post /users/
class UserView(CreateAPIView):

    serializer_class = UserSerialiazer
    # def post(self, request):
    #     """
    #
    #     注册用户信息的保存:
    #     1.获取存储并进行效验(参数完整性,是否同意协议,手机号格式,手机号是佛欧存在,两次
    #     密码是否一直,短信验证码食肉正确
    #     2.创建新用户并保存到数据库
    #     3.书册成功将新用户序列化并返回
    #     """
        # 1.获取存储并进行效验(参数完整性,是否同意协议,手机号格式,手机号是佛欧存在,两次
        # 密码是否一直,短信验证码食肉正确
        # 2.创建新用户并保存到数据库
        # 3.书册成功将新用户序列化并返回




#  GET /usernames/(?P<username>\w{5,20})/count/
class UsernameCountView(APIView):
    def get(self, request, username):
        """
         获取用户名数量:
         1. 根据用户名查询数据库，获取查询结果数量
         2. 返回用户名数量
         """
        #1. 根据用户名查询数据库，获取查询结果数量
        count = User.objects.filter(username=username).count()
        #2. 返回用户名数量
        res_data = {
            'username': username,
            'count':count
        }
        return Response(res_data)

# GET /mobiles/(?P<mobile>1[3-9]\d{9})/count/
class MobileCountView(APIView):
    def get(self, request, mobile):
        """
        获取用户名数量:
        1. 根据手机号查询数据库，获取查询结果数量
        2. 返回用手机号数量
        """
        #1. 根据手机号查询数据库，获取查询结果数量
        count = User.objects.filter(mobile=mobile).count()
        #2. 返回用手机号数量
        res_data = {
            'mobile': mobile,
            'count': count
        }
        return Response
